self->cleanup_images = g_slist_prepend (self->cleanup_images, image);
}
-static void
+void
gsk_vulkan_render_add_render_pass (GskVulkanRender *self,
GskVulkanRenderPass *pass)
{
gsk_vulkan_render_pass_add (pass, self, node);
}
-void
-gsk_vulkan_render_add_node_for_texture (GskVulkanRender *self,
- GskRenderNode *node,
- const graphene_matrix_t *mv,
- const graphene_rect_t *bounds,
- GskVulkanImage *target,
- VkSemaphore semaphore)
-{
- GskVulkanRenderPass *pass;
- cairo_region_t *clip;
-
- clip = cairo_region_create_rectangle (&(cairo_rectangle_int_t) {
- 0, 0,
- gsk_vulkan_image_get_width (target),
- gsk_vulkan_image_get_height (target)
- });
-
- pass = gsk_vulkan_render_pass_new (self->vulkan,
- target,
- 1,
- mv,
- bounds,
- clip,
- semaphore);
-
- cairo_region_destroy (clip);
-
- gsk_vulkan_render_add_render_pass (self, pass);
-
- gsk_vulkan_render_pass_add (pass, self, node);
-}
-
void
gsk_vulkan_render_upload (GskVulkanRender *self)
{
{
VkSemaphore semaphore;
graphene_rect_t view;
+ cairo_region_t *clip;
+ GskVulkanRenderPass *pass;
graphene_matrix_transform_bounds (&self->mv, bounds, &view);
&semaphore);
g_array_append_val (self->wait_semaphores, semaphore);
- gsk_vulkan_render_add_node_for_texture (render, node, &self->mv, &view, result, semaphore);
+
+ clip = cairo_region_create_rectangle (&(cairo_rectangle_int_t) {
+ 0, 0,
+ gsk_vulkan_image_get_width (result),
+ gsk_vulkan_image_get_height (result)
+ });
+
+ pass = gsk_vulkan_render_pass_new (self->vulkan,
+ result,
+ 1,
+ &self->mv,
+ &view,
+ clip,
+ semaphore);
+
+ cairo_region_destroy (clip);
+
+ gsk_vulkan_render_add_render_pass (render, pass);
+ gsk_vulkan_render_pass_add (pass, render, node);
gsk_vulkan_render_add_cleanup_image (render, result);
return result;
void gsk_vulkan_render_add_node (GskVulkanRender *self,
GskRenderNode *node);
-void gsk_vulkan_render_add_node_for_texture (GskVulkanRender *self,
- GskRenderNode *node,
- const graphene_matrix_t *mv,
- const graphene_rect_t *bounds,
- GskVulkanImage *target,
- VkSemaphore semaphore);
-
+void gsk_vulkan_render_add_render_pass (GskVulkanRender *self,
+ GskVulkanRenderPass *pass);
void gsk_vulkan_render_upload (GskVulkanRender *self);